// 角色相关的ts类型
export interface ResponseData {
  code: number
  message: string
  ok: boolean
}

// 单个角色的ts类型
export interface Role {
  id?: number | string
  createTime?: string
  updateTime?: string
  roleName: string
  remark?: string
}

// Role列表ts类型
export type RoleList = Role[]

// 获取全部Role返回的数据ts类型
export interface RoleResponseData extends ResponseData {
  data: {
    records: RoleList
    total: number
    size: number
    current: number
    pages: number
  }
}

// 单个菜单和按钮的ts类型
export interface MenuData {
  id: number
  createTime: string
  updateTime: string
  pid: number  
  name: string  // 名称
  code: string
  toCode: string
  type: number
  status: null
  level: number
  children: MenuList
  select: boolean // 是否勾选
}

export type MenuList = MenuData[]

// 根据角色获取菜单与按钮的ts类型
export interface MenuResponseData extends ResponseData {
  data: MenuList
}